from core.agents.base import AgentResponseType


class ProjectManagerResponseType(AgentResponseType):
    LOAD_SOURCE_PROJECT = "load-source-project"
    """加载 C/C++ 项目"""
    SUMMARIZE_SOURCE_PROJECT = "summarize-source-project"
    """总结 C/C++ 项目"""
    ANALYZE_DEPENDENCIES = "analyze-dependencies"
    """分析 C/C++ 项目的依赖关系"""
    CREATE_TARGET_PROJECT = "create-target-project"
    """创建 Rust 项目"""
    ALL_MODULES_DONE = "all-modules-done"
    """所有模块完成"""
    ALL_TASKS_DONE = "done"
    """所有任务完成"""

class TechLeaderResponseType(AgentResponseType):
    PREPARE_MODULE_TRANSLATION_TASKS = "prepare-module-translation-tasks"
    MODULE_TRANSLATION_COMPLETION_DONE = "module-translation-completion-done"
    """模块转译完成, 但未进行后续处理"""
    MODULE_TRANSLATION_DONE = "module-translation-done"
    """模块转译完成，且后处理也完成"""
    MODULE_BEAUTIFY_DONE = "module-beautify-done"
    """模块风格统一完成"""
    MODULE_TRANSLATION_REPORT_DONE = "module-translation-report-done"
    """模块报告生成完成"""
    MODULE_TEST_DONE = "module-test-done"
    """模块测试完成"""
    MODULE_BENCH_DONE = "module-bench-done"
    """模块性能测试完成"""
    MODULE_DONE = "module-done"
    """模块完成"""



class CodeMonkeyResponseType(AgentResponseType):
    PREPARE_TRANSLATION_TASK = "prepare-translation-task"
    """准备转译任务"""
    TRANSLATION_EXPERIENCE_QUERY = "translation-experience-query"
    """转译经验查询"""
    REASONING_COMPLETION = "reasoning-completion"
    """推理完成"""
    TRANSLATION_COMPLETION = "translation-completion"
    """转译结果生成完成"""
    TRANSLATION_COMPLETION_FAILED = "translation-completion-failed"
    """转译结果生成失败"""
    COMPILE_CHECK_DONE = "compile-check-done"
    """代码编译完成"""
    COMPILE_CHECK_FAILED = "compile-check-failed"
    """代码编译失败"""
    REFLECTION_FEEDBACK = "reflection-feedback"
    """错误反思反馈"""
    FIX_DONE = "fix-done"
    """修复代码成功"""
    FIX_FAILED = "fix-failed"
    """修复失败"""
    MARK_TODO_DONE = "mark-todo-done"
    """标记待办事项"""
    TRANSLATION_TASK_DONE = "translation-task-done"
    """转译任务完成"""

class TestEngineerResponseType(AgentResponseType):
    TEST_PREPARE_DONE = "test-prepare-done"
    """测试准备工作完成"""
    TEST_CODE_TRANSLATION_COMPLETION = "test-code-translation-completion"
    """测试代码生成完成"""
    TEST_SYNTAX_FIX_COMPLETION = "test-syntax-fix-completion"
    """测试语法错误修复完成"""
    TEST_RUN_FAILURE = "test-run-failure"
    """测试运行失败"""
    TEST_RUN_DONE = "test-run-done"
    """测试运行成功"""
    TEST_LOGIC_FIX_COMPLETION = "test-logic-fix-completion"
    """测试逻辑错误修复完成"""
    TEST_PASSED = "test-passed"
    """测试通过"""
    TEST_FAILED = "test-failed"
    """测试未通过"""


class BenchEngineerResponseType(AgentResponseType):
    BENCH_PREPARE_DONE = "bench-prepare-done"
    """性能测试准备工作完成"""
    BENCH_COMPLETION = "bench-completion"
    """性能测试代码生成"""
    BENCH_FAILED = "bench-failed"
    """性能测试失败"""
    BENCH_FIX_DONE = "bench-fix-done"
    """性能测试修复完成"""
    BENCH_DONE = "bench-done"
    """性能测试完成"""